1️⃣ Introducción

Este análisis tiene como objetivo calcular probabilidades condicionales en el dataset Oral Cancer Prediction, respondiendo preguntas como:

✔ ¿Cuál es la probabilidad de tener un diagnóstico positivo de cáncer si el paciente fuma? ✔ ¿Cómo influye el consumo de alcohol en el diagnóstico?

Estos cálculos son clave para evaluar factores de riesgo y mejorar la toma de decisiones en salud.

2️⃣ Carga de Librerías y Configuración

# 📌 Cargar librerías necesarias
library(here)           # Rutas dinámicas
library(dplyr)          # Manipulación de datos
library(ggplot2)        # Visualización
library(readr)          # Lectura de archivos CSV
library(plotly)         # Gráficos interactivos

# 📌 Crear carpeta de resultados si no existe
resultados_path <- here("reportes/Proy_Oral_Cancer_Prediction/resultados_generados/")
if (!dir.exists(resultados_path)) {
  dir.create(resultados_path, recursive = TRUE)
}

# 📌 Cargar dataset limpio
dataset_oral_cancer <- read_csv(
  here("datasets/oral_cancer_data_limpio.csv"),
  show_col_types = FALSE
)

3️⃣ Cálculo de Probabilidades Condicionales

Analizamos la relación entre factores de riesgo y diagnóstico temprano de cáncer.

📌 Probabilidad de Diagnóstico Positivo dado que el Paciente Fuma

sub_tobacco <- dataset_oral_cancer %>%
  filter(`Tobacco Use` == "Yes")

n_tobacco_total <- nrow(sub_tobacco)
n_tobacco_malignant <- sub_tobacco %>%
  filter(`Early Diagnosis` == "Yes") %>%
  nrow()

p_malignant_given_tobacco <- n_tobacco_malignant / n_tobacco_total
p_malignant_given_tobacco
## [1] 0.5493536

📌 Probabilidad de Diagnóstico Positivo dado que el Paciente Consume Alcohol

sub_alcohol <- dataset_oral_cancer %>%
  filter(`Alcohol Consumption` == "Yes")

n_alcohol_total <- nrow(sub_alcohol)
n_alcohol_malignant <- sub_alcohol %>%
  filter(`Early Diagnosis` == "Yes") %>%
  nrow()

p_malignant_given_alcohol <- n_alcohol_malignant / n_alcohol_total
p_malignant_given_alcohol
## [1] 0.5474391

4️⃣ Visualización de Resultados

Generamos gráficos interactivos para una mejor interpretación de los datos.

p_tobacco <- ggplot(dataset_oral_cancer, aes(x = `Tobacco Use`, fill = `Early Diagnosis`)) +
  geom_bar(position = "fill") +
  labs(title = "Probabilidad de Diagnóstico Temprano según Uso de Tabaco", 
       x = "Uso de Tabaco", y = "Proporción", fill = "Diagnóstico") +
  theme_minimal(base_size = 14)

# Guardar gráfico
ggsave(here("reportes/Proy_Oral_Cancer_Prediction/resultados_generados/probabilidad_tobacco.png"),
       plot = p_tobacco, width = 8, height = 6, bg = "white")

# Convertir en gráfico interactivo
ggplotly(p_tobacco)
p_alcohol <- ggplot(dataset_oral_cancer, aes(x = `Alcohol Consumption`, fill = `Early Diagnosis`)) +
  geom_bar(position = "fill") +
  labs(title = "Probabilidad de Diagnóstico Temprano según Consumo de Alcohol", 
       x = "Consumo de Alcohol", y = "Proporción", fill = "Diagnóstico") +
  theme_minimal(base_size = 14)

# Guardar gráfico
ggsave(here("reportes/Proy_Oral_Cancer_Prediction/resultados_generados/probabilidad_alcohol.png"),
       plot = p_alcohol, width = 8, height = 6, bg = "white")

# Convertir en gráfico interactivo
ggplotly(p_alcohol)